package cn.com.itg.pojo.domain.vo;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@NoArgsConstructor
@Data

public class OthoutSingleSaveVO implements Serializable {


    /**
     * data : {"id":"","code":"QTCK0000001","org":"wzyqzn","accountOrg":"wzyqzn","vouchdate":"2021-03-05","bustype":"A10001","store":"store_code_01","warehouse":"ck01","department":"dept01","operator":"operator_01","stockMgr":"operator_02","memo":"单子备注","_status":"Insert","srcBillType":"","headItem":{"id":"","define1":"自定义项1","define2":"1891079656820992"},"defines":{"id":"","define1":"自由自定义项1","define2":"1891079656820993"},"othOutRecords":[{"id":"","product":"PD0817000001","productsku":"PD08170000010004","batchno":"SH01","producedate":"2020-09-24 00:00:00","invaliddate":"2020-10-24 00:00:00","contactsQuantity":10,"contactsPieces":10,"qty":10,"subQty":10,"unit":"KGM","invExchRate":1,"unitExchangeType":0,"stockUnitId":"KGM","goodsposition":"ck01_hw01","project":"project01","memo":"备注信息","_status":"Insert","sourceid":"","sourceautoid":"","source":"","upcode":"","makeRuleCode":"","autoCalcCost":"","bodyItem":{"id":"","define1":"自定义项1","define2":"2411545234969601"},"defines":{"id":"","define1":"自由项1","define2":"2411545234969603"},"othOutRecordsSNs":[{"id":0,"sn":"SN01","_status":"Insert"}]}]}
     */

    private DataBean data;

    @NoArgsConstructor
    @Data
    @Accessors(chain = true)
    public static class DataBean implements Serializable{
        /**
         * id :
         * code : QTCK0000001
         * org : wzyqzn
         * accountOrg : wzyqzn
         * vouchdate : 2021-03-05
         * bustype : A10001
         * store : store_code_01
         * warehouse : ck01
         * department : dept01
         * operator : operator_01
         * stockMgr : operator_02
         * memo : 单子备注
         * _status : Insert
         * srcBillType :
         * headItem : {"id":"","define1":"自定义项1","define2":"1891079656820992"}
         * defines : {"id":"","define1":"自由自定义项1","define2":"1891079656820993"}
         * othOutRecords : [{"id":"","product":"PD0817000001","productsku":"PD08170000010004","batchno":"SH01","producedate":"2020-09-24 00:00:00","invaliddate":"2020-10-24 00:00:00","contactsQuantity":10,"contactsPieces":10,"qty":10,"subQty":10,"unit":"KGM","invExchRate":1,"unitExchangeType":0,"stockUnitId":"KGM","goodsposition":"ck01_hw01","project":"project01","memo":"备注信息","_status":"Insert","sourceid":"","sourceautoid":"","source":"","upcode":"","makeRuleCode":"","autoCalcCost":"","bodyItem":{"id":"","define1":"自定义项1","define2":"2411545234969601"},"defines":{"id":"","define1":"自由项1","define2":"2411545234969603"},"othOutRecordsSNs":[{"id":0,"sn":"SN01","_status":"Insert"}]}]
         */

        private String resubmitCheckKey;
        private String id;
        private String code;
        private String org;
        private String accountOrg;
        private String vouchdate;
        private String bustype;
        private String store;
        private String warehouse;
        private String department;
        private String operator;
        private String stockMgr;
        private String memo;
        private String _status;
        private String srcBillType;
        private DefinesVO headItem;
        private DefinesVO defines;
        private List<OthOutRecordsBean> othOutRecords;


        @NoArgsConstructor
        @Data
        public static class OthOutRecordsBean implements Serializable{
            /**
             * id :
             * product : PD0817000001
             * productsku : PD08170000010004
             * batchno : SH01
             * producedate : 2020-09-24 00:00:00
             * invaliddate : 2020-10-24 00:00:00
             * contactsQuantity : 10
             * contactsPieces : 10
             * qty : 10
             * subQty : 10
             * unit : KGM
             * invExchRate : 1
             * unitExchangeType : 0
             * stockUnitId : KGM
             * goodsposition : ck01_hw01
             * project : project01
             * memo : 备注信息
             * _status : Insert
             * sourceid :
             * sourceautoid :
             * source :
             * upcode :
             * makeRuleCode :
             * autoCalcCost :
             * bodyItem : {"id":"","define1":"自定义项1","define2":"2411545234969601"}
             * defines : {"id":"","define1":"自由项1","define2":"2411545234969603"}
             * othOutRecordsSNs : [{"id":0,"sn":"SN01","_status":"Insert"}]
             */

            private String id;
            private String product;
            private String productsku;
            private String batchno;
            private String producedate;
            private String invaliddate;
            private BigDecimal contactsQuantity;
            private BigDecimal contactsPieces;
            private BigDecimal qty;
            private BigDecimal subQty;
            private String unit;
            private BigDecimal invExchRate;
            private BigDecimal unitExchangeType;
            private String stockUnitId;
            private String goodsposition;
            private String project;
            private String memo;
            private String _status;
            private String sourceid;
            private String sourceautoid;
            private String source;
            private String upcode;
            private String makeRuleCode;
            private String autoCalcCost;
            private DefinesVO bodyItem;
            private DefinesVO defines;
            private List<OthOutRecordsSNsBean> othOutRecordsSNs;

            @NoArgsConstructor
            @Data
            public static class OthOutRecordsSNsBean implements Serializable{
                /**
                 * id : 0
                 * sn : SN01
                 * _status : Insert
                 */

                private BigDecimal id;
                private String sn;
                private String _status;
            }
        }
    }
}
